The present invention generally relates to computer graphics and, more specifically, to methods and systems for accelerating vector graphics rendering.
Edge smoothing is faced with the technical challenge of improving the appearance of graphics rendered at minimal vertical resolution. To achieve high frame rates in, for example, Macromedia Flash5, a movie must be authored with a limited amount of animation and/or run in Flash5's “Low Quality” graphics mode. In other words, “Medium Quality” and “High Quality” graphics modes are generally not available when high frame rates are desired.
The Flash5 vector graphics rendering engine (“FVGRE”) generates graphics data as horizontal line spans packed into each scan line of a rasterized screen. In “Low Quality” mode, images are rendered at the same resolution as the screen, without an anti-aliasing filter. In “Medium Quality” mode, images are rendered at 200% of the screen's horizontal and vertical resolution, and bilinear interpolation is used as an anti-aliasing filter that scales the image down to screen size. In “High Quality” mode, images are rendered at 400% of the screen's horizontal and vertical resolution, and bilinear interpolation is used as an anti-aliasing filter that scales the image down to screen size.
When the horizontal resolution of an image is increased, the FVGRE generates proportionally wider line spans, but the number of discreet line spans its must generate remains unchanged. Thus, increasing the horizontal resolution of the raster has minimal effect on rendering speed.
When the vertical resolution of an image is increased, the FVGRE generates additional horizontal line spans to cover the newly created scan lines. Thus, increasing the vertical resolution of the raster reduces rendering speed in proportion to the number of additional scan lines.
For the foregoing reasons, systems and methods are needed that efficiently improve resolution.